target_compile_options(
psn00bsdk INTERFACE
-g
-Wa,--strip-local-absolute
-ffreestanding
-fno-builtin
-nostdlib
-fdata-sections
-ffunction-sections
-fsigned-char
-fno-strict-overflow
-fdiagnostics-color=always
-msoft-float
-march=r3000
-mtune=r3000
-mabi=32
-mno-mt
-mno-llsc
$<$<COMPILE_LANGUAGE:CXX>:
-fno-exceptions
-fno-rtti
-fno-unwind-tables
-fno-threadsafe-statics
-fno-use-cxa-atexit
>
$<IF:$<CONFIG:Debug>,
-Og
-mdivide-breaks
,
-O2
>
$<$<STREQUAL:$<UPPER_CASE:$<TARGET_PROPERTY:PSN00BSDK_TARGET_TYPE>>,EXECUTABLE_GPREL>:
-G8
-fno-pic
-mno-abicalls
-mgpopt
-mno-extern-sdata
>
$<$<STREQUAL:$<UPPER_CASE:$<TARGET_PROPERTY:PSN00BSDK_TARGET_TYPE>>,EXECUTABLE_NOGPREL>:
-G0
-fno-pic
-mno-abicalls
-mno-gpopt
>
$<$<STREQUAL:$<UPPER_CASE:$<TARGET_PROPERTY:PSN00BSDK_TARGET_TYPE>>,SHARED_LIBRARY>:
-G0
-fPIC
-mabicalls
-mno-gpopt
-mshared
>
)